package com.app.service;


import com.app.model.ComRecruitersModel;
import com.app.model.EnterpriseModel;
import com.app.model.JobPublishModel;
import com.app.model.UserModel;
import com.app.vo.JobPublishVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.text.ParseException;
import java.util.List;

/**
 * @Description: 岗位
 * @Author: N
 * @Date: 2022年11月24日10点26分
 */
public interface JobPublishService {


    JobPublishModel findAllJobById(int id);

    JobPublishModel findJobName (int id);
    JobPublishModel findJobByPost (int jobType);
    List<JobPublishModel> findJobByPostList (int jobType);

    JobPublishModel findJobByUserAndTitle (int hrId,String title,String minSalary,String maxSalary);

    void update(JobPublishModel model);

    int insertJobs(JobPublishModel jobPublish);


    Object getInterviewRecord(int id);

    List<JobPublishModel> getJobPublishListByExOpen(int rid);

    Object selectJobsById(int id, UserModel model) throws ParseException;

    List<JobPublishModel> getJobPublishListByModel(JobPublishModel jobPublish);

    List<JobPublishModel> findJobPublishListByModel(JobPublishModel jobPublish);

    int getJobPublishCountByModel(JobPublishModel jobPublish);

    int getJobPublishCountByHrId(int recId);

    int getJobPublishCountByComId(int comId);

    void addPublishMsg(ComRecruitersModel com,JobPublishModel jobPublish);

    int countAll();
    int passCount();
    int sumJobNumberAll(String startTime,String endTime,Integer type);

    int countWait();

    int getModelCountByTime(String crtTime);

    JobPublishVo publishListByModel(JobPublishModel model);

    JobPublishModel publishListById(int id);

    JobPublishVo getJobPublishList(JobPublishModel model);

    Page<JobPublishModel> getModelByType(JobPublishModel model);

    int getModelCountByEid(int enrollId);

    List<JobPublishModel> getModelGroupType();

    List<JobPublishModel> getComPublishByComId(String comIds[]);

    List<JobPublishModel> getComPublishById(String ids[]);

    Integer getCountByStreetId(Integer streetId);

    Integer selectActivityThisMonthCount();

    Integer selectRecruitmentCount();

    List<JobPublishModel> selectPost();

    List<JobPublishModel> selectAll();

    Page<JobPublishModel> postList(Integer page ,Integer limit);

    Page<JobPublishModel> allPostList(Integer page, Integer limit);

    List<JobPublishModel> supplyAndDemandIndustries();

    JobPublishVo getJobPublishCountByPost(List<Integer> integerList, Integer page, Integer limit);
    int sumJobNumberByEntId(Integer entId);
}
